I did this with my personal website through ZeroSSL for a while but they only offer short term certificates and after a few months want you to pay. Ended up going to a host that included SSL in their package.
Also, Lets Encrypt offers free SSL solutions for various hosting types but requires some web hosting knowledge.